class List{


    constructor(){
        this.length = 0;
    }

    add(obj){
        this[this.length++] = obj;
    }
}
//options是json，格式形如：{color:'red',fontSize:'13px'}
List.prototype.css = function(options){
    for(let i = 0 ; i < this.length; i++){
        for(let prop in options){
            this[i].style[prop] = options[prop];
        }        
    }
    return this;
}

//options是json，格式形如：{click:function(){},keyyp:function(){}}
List.prototype.on = function(options){
    for(let i = 0 ; i < this.length; i++){
        for(let eventName in options){
            this[i][`on${eventName}`] = options[eventName];
        }        
    }
    return this;
}

List.prototype.click = function(func){
    for(let i = 0 ; i < this.length; i++){
       this[i].onclick = func;
    }
    return this;
}
/*
    参数obj有三种情况：
    （1）string 当做选择器处理
    （2）function 设置为页面加载完成时执行
    （3）对象 

*/
const $ = function(obj){
    if(typeof(obj)==='string'){
        var arr = document.querySelectorAll(obj);
        let list = new List();
        for(let emt of arr){
            list.add(emt);
        }
        return list;
    }else if(typeof(obj)==='function'){
        window.onload = obj;
    }else{
        let list = new List();
        list.add(obj);
        return list;
    }
    //
}